﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BusinessObjects.Production;

namespace DataObjects.Interface.Production
{
    public interface IInventoryItemDao
    {
        IList<InventoryItem> GetInventoryItems();
        InventoryItem GetInventoryItem(string inventoryItemId);
        IList<InventoryItem> GetInventoryItemsActive(bool isMaterial, bool isActive);
        IList<InventoryItem> GetInventoryItemsActive(bool isMaterial, bool isActive, string restaurantId);
        IList<InventoryItem> GetInventoryItemsByCategory(string inventoryCategoryId);
        IList<InventoryItem> GetInventoryItemsByPage(int currentPage, bool isMaterial);
        IList<InventoryItem> GetInventoryItemsByPageAndCategory(int currentPage, string inventoryCategoryId, bool isMaterial);
        IList<InventoryItem> GetInventoryItemsByPageAndBranch(int currentPage, string restaurantId, bool isMaterial);
        int GetTotalPage(bool isMaterial);
        int GetTotalPageByCategory(string inventoryCategoryId);
        int GetCountInventoryItemByCategory(string categoryId);
        void InsertInventoryItem(InventoryItem inventoryItem);
        void UpdateInventoryItem(InventoryItem inventoryItem);
        void DeleteInventoryItem(InventoryItem inventoryItem);
    }
}
